GTK_WIDGET_CLASS (gtk_overlay_parent_class)->unmap (widget);
}
-static gboolean
-gtk_overlay_draw (GtkWidget *widget,
- cairo_t *cr)
-{
- GtkOverlay *overlay = GTK_OVERLAY (widget);
- GtkOverlayPrivate *priv = overlay->priv;
- GtkOverlayChild *child;
- GSList *children;
-
- for (children = priv->children; children; children = children->next)
- {
- child = children->data;
-
- if (gtk_cairo_should_draw_window (cr, child->window))
- {
- cairo_save (cr);
- gtk_cairo_transform_to_window (cr, widget, child->window);
- gtk_render_background (gtk_widget_get_style_context (widget),
- cr,
- 0, 0,
- gdk_window_get_width (child->window),
- gdk_window_get_height (child->window));
- cairo_restore (cr);
- }
- }
-
- GTK_WIDGET_CLASS (gtk_overlay_parent_class)->draw (widget, cr);
-
- return FALSE;
-}
-
static void
gtk_overlay_remove (GtkContainer *container,
GtkWidget *widget)
widget_class->unrealize = gtk_overlay_unrealize;
widget_class->map = gtk_overlay_map;
widget_class->unmap = gtk_overlay_unmap;
- widget_class->draw = gtk_overlay_draw;
container_class->remove = gtk_overlay_remove;
container_class->forall = gtk_overlay_forall;